package com.duoec.magichour.mapper;

import com.duoec.magichour.core.BaseMapper;
import com.duoec.magichour.dto.response.UserSimpleInfoDto;
import com.duoec.magichour.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface UserMapper extends BaseMapper<User, Long> {
    List<UserSimpleInfoDto> getUserSimpleInfoByIds(@Param("list") List<Long> list);

    /**
     * 用户收藏文章数+1
     *
     * @param userId 用户ID
     */
    void incFavoriteArticle(@Param("userId") Long userId);

    /**
     * 文章作者被收藏数+1
     *
     * @param userId 用户ID
     */
    void incFollowArticle(@Param("userId") Long userId);

    /**
     * 用户发布文章数+1
     *
     * @param userId 用户ID
     */
    void incArticleCount(@Param("userId") Long userId);

    /**
     * 用户关注其它用户数+1
     *
     * @param userId 用户ID
     */
    void incFavoriteUserCount(@Param("userId") long userId);

    /**
     * 用户粉丝数+1
     *
     * @param userId 用户ID
     */
    void incFansCount(@Param("userId") long userId);

    /**
     * 通过手机号码获取用户信息
     *
     * @param mobile 手机号码
     * @return
     */
    User getByMobile(@Param("mobile") String mobile);

    /**
     * 修改用户密码
     *
     * @param id       用户ID
     * @param password 密码
     */
    void updatePwd(@Param("id") Long id, @Param("password") String password);
}